// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()
const _ = db.command
const ordersCollection = db.collection('orders')

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  
  try {
    // 获取用户ID，优先使用openid，如果没有则使用guestId
    const userId = wxContext.OPENID || event.userId
    
    if (!userId) {
      return {
        success: false,
        errMsg: '用户ID不存在'
      }
    }
    
    // 检查订单ID
    if (!event.orderId) {
      return {
        success: false,
        errMsg: '订单ID不能为空'
      }
    }
    
    // 查询订单详情
    const order = await ordersCollection.doc(event.orderId).get()
    
    // 检查订单是否存在
    if (!order || !order.data) {
      return {
        success: false,
        errMsg: '订单不存在'
      }
    }
    
    // 检查订单是否属于当前用户
    if (order.data.userId !== userId) {
      return {
        success: false,
        errMsg: '无权限查看该订单'
      }
    }
    
    return {
      success: true,
      data: order.data
    }
  } catch (err) {
    console.error('获取订单详情失败:', err)
    return {
      success: false,
      errMsg: '获取订单详情失败',
      error: err
    }
  }
}